iT邦幫忙

2023 iThome 鐵人賽

DAY 5
0
Web 3

零基礎學習區塊鏈系列 第 5

Day 5 密碼學

  • 分享至 

  • xImage
  •  

密碼學可分為「古典密碼學」、「現代密碼學」兩個領域,其中「現代密碼學」又分為「對稱金鑰密碼」、「公開金鑰密碼」兩個階段。因應不同時期人們對密碼的需求與技術不同。密碼學發展經歷從藝術到科學的發展過程,其中的協定、演算法設計、分析以及加密、解密的應用,皆發展成為獨立的藝術和學問,同時也發展成一個高度綜合而且專業的學科,並被廣泛運用在各個層面上,涵蓋了數學、統計、網路、電腦等科學內容。

5.1古典密碼

古典密碼學主要是在數學和工程的基礎之上進行加密和解密。在現代加密學出現之前,被廣泛用於保護機密信息,在現代而言,古典密碼學也是一門小眾的藝術!簡單舉幾項經典的古典密碼學的例子:

5.1.1 替換密碼(Substitution Ciphers):

將其中字母或字符被替換為其他字母或字符以加密消息。常見的替換密碼包括凱撒密碼和維吉尼亞密碼。

  1. 凱撒密碼(Caesar cipher): 是一種最簡單的替換密碼,它將字母按固定的偏移量進行替換。例如,偏移量為3的凱撒密碼將字母A替換為D,字母B替換為E,以此類推,而偏移量可以自己設定,但因其加密手法較為簡單,所以相對容易被破解。。
  2. 維吉尼亞密碼(Vigenère cipher):是一種多次替換密碼,它是使用一個密鑰來決定每個字符的替換規則。這種密碼更強大,因為它使得分析密文變得更難回推原來的字詞。。

5.1.2轉位密碼(Transposition Ciphers):

轉位密碼是另一種古典密碼,它不替換字符,而是重新排列字符的位置來加密消息。常見的轉位密碼包括列置換密碼和鐵路籬笆密碼。

  1. 列置換密碼(Columnar transposition cipher):密鑰是用於確定字符重新排列順序的關鍵(密鑰可以是一個單詞或短語,無重複字母),列置換密碼會將加密的消息按密鑰中的字母順序排成一個矩陣或網格。如果密鑰中有重複的字母,則只使用第一次出現的字母,其餘忽略。
  2. 鐵路籬笆密碼(Rail fence cipher):會依據要使用的行數決定鐵路籬笆的高度,然後將消息中的字符依次填充到鐵路籬笆中,從上到下,然後再從下到上,依此類推,直到所有字都填完。

5.2對稱金鑰密碼(Symmetric Key Cryptography)

使用相同的金鑰對訊息進行加密及解密,系統的保密性主要有金鑰的安全性決定,與演算法是否保密沒有關係。所以設計對稱金鑰密碼需時,要注意我們要如何將金鑰安全又可靠地分配給通訊地雙方,而對稱金鑰可以用於加解密,也可以用於訊息的驗證,適用於資料量較大(檔案較大)的內容進行加解密,但因為每個使用者在每組加密皆會產生一組新的金鑰,容易造成金鑰的保管不利,從而成為雙方的共同負擔

5.3公開金鑰密碼(Public Key Cryptography)

其實就是我們平常說的非對稱加密,它使用一對不同的金鑰:一個是公開金鑰(Public Key),另一個是私有金鑰(Private Key)。這兩個金鑰彼此關聯,但公開金鑰可以被分享給任何人,而私有金鑰必須保持機密,這種加密方式的演算法強度非常複雜,安全性依賴於演算法以及金鑰,如果想要解密就必須讓對方知道金鑰,所以保證他的安全性的方法就是保證金鑰的安全!他不需要像對稱密碼機制那樣傳送對方的金鑰,所以就相對提高了安全性。


上一篇
Day 4加密貨幣
下一篇
Day 6 去中心化金鑰共用與密碼系統
系列文
零基礎學習區塊鏈30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言